package com.ruoyi.system.domain;
import java.math.BigDecimal;
import java.util.Date;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 商户代付规则对象 sys_withdraw_rule
 *
 * @author Ericcc
 * @date 2021-03-15
 */
public class SysWithdrawRule extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 提现规则id */
    private Long withdrawRuleId;

    /** 单笔最小金额 */
    @Excel(name = "单笔最小金额")
    private BigDecimal minBalance;

    /** 单笔最大金额 */
    @Excel(name = "单笔最大金额")
    private BigDecimal maxBalance;

    /** 当日总金额 */
    @Excel(name = "当日总金额")
    private BigDecimal todayBalance;

    /** 手续费扣除方式（0商户余额扣, 1.到账金额扣） */
    @Excel(name = "手续费扣除方式", readConverterExp = "0=商户余额扣,,1=.到账金额扣")
    private Integer deductType;

    /** 代付状态（0.开通， 1.关闭） */
    @Excel(name = "代付状态", readConverterExp = "0=.开通，,1=.关闭")
    private Integer withdrawRuleStatus;

    /** 代付开始时间 */
    @Excel(name = "代付开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** 代付结束时间 */
    @Excel(name = "代付结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /** 代付方式(0自动代付 1手动代付) */
    @Excel(name = "0自动代付 1手动代付")
    private Integer withdrawRuleType;

    public void setWithdrawRuleId(Long withdrawRuleId)
    {
        this.withdrawRuleId = withdrawRuleId;
    }

    public Long getWithdrawRuleId()
    {
        return withdrawRuleId;
    }
    public void setMinBalance(BigDecimal minBalance)
    {
        this.minBalance = minBalance;
    }

    public BigDecimal getMinBalance()
    {
        return minBalance;
    }
    public void setMaxBalance(BigDecimal maxBalance)
    {
        this.maxBalance = maxBalance;
    }

    public BigDecimal getMaxBalance()
    {
        return maxBalance;
    }
    public void setTodayBalance(BigDecimal todayBalance)
    {
        this.todayBalance = todayBalance;
    }

    public BigDecimal getTodayBalance()
    {
        return todayBalance;
    }
    public void setDeductType(Integer deductType)
    {
        this.deductType = deductType;
    }

    public Integer getDeductType()
    {
        return deductType;
    }
    public void setWithdrawRuleStatus(Integer withdrawRuleStatus)
    {
        this.withdrawRuleStatus = withdrawRuleStatus;
    }

    public Integer getWithdrawRuleStatus()
    {
        return withdrawRuleStatus;
    }
    public void setStartTime(Date startTime)
    {
        this.startTime = startTime;
    }

    public Date getStartTime()
    {
        return startTime;
    }
    public void setEndTime(Date endTime)
    {
        this.endTime = endTime;
    }

    public Date getEndTime()
    {
        return endTime;
    }
    public void setWithdrawRuleType(Integer withdrawRuleType)
    {
        this.withdrawRuleType = withdrawRuleType;
    }

    public Integer getWithdrawRuleType()
    {
        return withdrawRuleType;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("withdrawRuleId", getWithdrawRuleId())
                .append("minBalance", getMinBalance())
                .append("maxBalance", getMaxBalance())
                .append("todayBalance", getTodayBalance())
                .append("deductType", getDeductType())
                .append("withdrawRuleStatus", getWithdrawRuleStatus())
                .append("startTime", getStartTime())
                .append("endTime", getEndTime())
                .append("withdrawRuleType", getWithdrawRuleType())
                .toString();
    }
}